package org.hot100_6.leetcode1143;

import java.util.Arrays;

public class Solution {

    public static void main(String[] args) {

    }

    public int longestCommonSubsequence(String text1, String text2) {

        int n1 = text1.length();
        int n2 = text2.length();

        int [][] dp = new int[n1+1][n2+1];


        for (int i = 1; i <=n1 ; i++) {
            for (int j = 1; j <=n2; j++) {
                if (text1.charAt(i-1)==text2.charAt(j-1)){
                    dp[i][j]=dp[i-1][j-1]+1;
                }else {
                    //此时的dp[i-1][j]表示当前的两个字符不相同，那么删除text1.charAt(i-1)，将剩下的与text2来比较最长
                    //dp[i][j-1]类似
                    dp[i][j]=Math.max(dp[i-1][j],dp[i][j-1]);
                }
            }
        }
        return dp[n1][n2];
    }
}
